// Copyright 2012 Google Inc. All rights reserved.
(function () {

    var data = {
        "resource": {
            "version": "1",
            "macros": [],
            "tags": [],
            "predicates": [],
            "rules": []
        },
        "runtime": [
            [], []
        ]
    };

    var aa = function (a, b) {
        function c() {
        }

        c.prototype = b.prototype;
        a.xc = b.prototype;
        a.prototype = new c;
        a.prototype.constructor = a;
        a.rc = function (a, c, g) {
            for (var d = Array(arguments.length - 2), e = 2; e < arguments.length; e++) d[e - 2] = arguments[e];
            return b.prototype[c].apply(a, d)
        }
    };
    var f = function (a, b) {
        this.o = a;
        this.Eb = b
    };
    f.prototype.Qb = function () {
        return this.o
    };
    f.prototype.getType = f.prototype.Qb;
    f.prototype.getData = function () {
        return this.Eb
    };
    f.prototype.getData = f.prototype.getData;
    var ba = function (a) {
        return "number" == typeof a && 0 <= a && isFinite(a) && 0 == a % 1 || "string" == typeof a && "-" != a[0] && a == "" + parseInt(a, 10)
    }, ca = function () {
        this.P = {};
        this.G = !1
    };
    ca.prototype.get = function (a) {
        return this.P["dust." + a]
    };
    ca.prototype.set = function (a, b) {
        !this.G && (this.P["dust." + a] = b)
    };
    ca.prototype.has = function (a) {
        return this.P.hasOwnProperty("dust." + a)
    };
    var da = function (a) {
        var b = [], c;
        for (c in a.P) a.P.hasOwnProperty(c) && b.push(c.substr(5));
        return b
    };
    ca.prototype.remove = function (a) {
        !this.G && delete this.P["dust." + a]
    };
    var t = function (a) {
        this.U = new ca;
        this.h = [];
        a = a || [];
        for (var b in a) a.hasOwnProperty(b) && (ba(b) ? this.h[Number(b)] = a[Number(b)] : this.U.set(b, a[b]))
    };
    t.prototype.toString = function () {
        for (var a = [], b = 0; b < this.h.length; b++) {
            var c = this.h[b];
            null === c || void 0 === c ? a.push("") : a.push(c.toString())
        }
        return a.join(",")
    };
    t.prototype.set = function (a, b) {
        if ("length" == a) {
            if (!ba(b)) throw"RangeError: Length property must be a valid integer.";
            this.h.length = Number(b)
        } else ba(a) ? this.h[Number(a)] = b : this.U.set(a, b)
    };
    t.prototype.set = t.prototype.set;
    t.prototype.get = function (a) {
        return "length" == a ? this.h.length : ba(a) ? this.h[Number(a)] : this.U.get(a)
    };
    t.prototype.get = t.prototype.get;
    t.prototype.B = function () {
        for (var a = da(this.U), b = 0; b < this.h.length; b++) a.push(b + "");
        return new t(a)
    };
    t.prototype.getKeys = t.prototype.B;
    t.prototype.remove = function (a) {
        ba(a) ? delete this.h[Number(a)] : this.U.remove(a)
    };
    t.prototype.remove = t.prototype.remove;
    t.prototype.pop = function () {
        return this.h.pop()
    };
    t.prototype.pop = t.prototype.pop;
    t.prototype.push = function (a) {
        return this.h.push.apply(this.h, Array.prototype.slice.call(arguments))
    };
    t.prototype.push = t.prototype.push;
    t.prototype.shift = function () {
        return this.h.shift()
    };
    t.prototype.shift = t.prototype.shift;
    t.prototype.splice = function (a, b, c) {
        return new t(this.h.splice.apply(this.h, arguments))
    };
    t.prototype.splice = t.prototype.splice;
    t.prototype.unshift = function (a) {
        return this.h.unshift.apply(this.h, Array.prototype.slice.call(arguments))
    };
    t.prototype.unshift = t.prototype.unshift;
    t.prototype.has = function (a) {
        return ba(a) && this.h.hasOwnProperty(a) || this.U.has(a)
    };
    var ea = function (a) {
        this.H = a;
        this.h = new ca
    };
    ea.prototype.add = function (a, b) {
        this.h.set(a, b)
    };
    ea.prototype.add = ea.prototype.add;
    ea.prototype.set = function (a, b) {
        this.H && this.H.has(a) ? this.H.set(a, b) : this.h.set(a, b)
    };
    ea.prototype.set = ea.prototype.set;
    ea.prototype.get = function (a) {
        return this.h.has(a) ? this.h.get(a) : this.H ? this.H.get(a) : void 0
    };
    ea.prototype.get = ea.prototype.get;
    ea.prototype.has = function (a) {
        return !!this.h.has(a) || !(!this.H || !this.H.has(a))
    };
    ea.prototype.has = ea.prototype.has;
    var fa = function (a) {
        return "[object Array]" == Object.prototype.toString.call(Object(a))
    }, ha = function (a, b) {
        if (Array.prototype.indexOf) {
            var c = a.indexOf(b);
            return "number" == typeof c ? c : -1
        }
        for (var d = 0; d < a.length; d++) if (a[d] === b) return d;
        return -1
    };
    var u = function (a, b) {
        ca.call(this);
        this.$a = a;
        this.Ob = b
    };
    aa(u, ca);
    u.prototype.toString = function () {
        return this.$a
    };
    u.prototype.getName = function () {
        return this.$a
    };
    u.prototype.getName = u.prototype.getName;
    u.prototype.B = function () {
        return new t(da(this))
    };
    u.prototype.getKeys = u.prototype.B;
    u.prototype.i = function (a, b) {
        return this.Ob.apply({
            w: function () {
                return a
            }, evaluate: function (b) {
                var c = a;
                return fa(b) ? ia(c, b) : b
            }, ba: function (b) {
                return ja(a, b)
            }
        }, Array.prototype.slice.call(arguments, 1))
    };
    u.prototype.invoke = u.prototype.i;
    var ja = function (a, b) {
        for (var c, d = 0; d < b.length && !(c = ia(a, b[d]), c instanceof f); d++) ;
        return c
    }, ia = function (a, b) {
        var c = a.get(String(b[0]));
        if (!(c && c instanceof u)) throw"Attempting to execute non-function " + b[0] + ".";
        return c.i.apply(c, [a].concat(b.slice(1)))
    };
    var v = function () {
        ca.call(this)
    };
    aa(v, ca);
    v.prototype.B = function () {
        return new t(da(this))
    };
    v.prototype.getKeys = v.prototype.B;
    /*
 jQuery v1.9.1 (c) 2005, 2012 jQuery Foundation, Inc. jquery.org/license. */
    var ma = /\[object (Boolean|Number|String|Function|Array|Date|RegExp)\]/, na = function (a) {
        if (null == a) return String(a);
        var b = ma.exec(Object.prototype.toString.call(Object(a)));
        return b ? b[1].toLowerCase() : "object"
    }, oa = function (a, b) {
        return Object.prototype.hasOwnProperty.call(Object(a), b)
    }, pa = function (a) {
        if (!a || "object" != na(a) || a.nodeType || a == a.window) return !1;
        try {
            if (a.constructor && !oa(a, "constructor") && !oa(a.constructor.prototype, "isPrototypeOf")) return !1
        } catch (c) {
            return !1
        }
        for (var b in a) ;
        return void 0 ===
            b || oa(a, b)
    }, qa = function (a, b) {
        var c = b || ("array" == na(a) ? [] : {}), d;
        for (d in a) if (oa(a, d)) {
            var e = a[d];
            "array" == na(e) ? ("array" != na(c[d]) && (c[d] = []), c[d] = qa(e, c[d])) : pa(e) ? (pa(c[d]) || (c[d] = {}), c[d] = qa(e, c[d])) : c[d] = e
        }
        return c
    };
    var ra = function (a) {
        if (a instanceof t) {
            for (var b = [], c = Number(a.get("length")), d = 0; d < c; d++) a.has(d) && (b[d] = ra(a.get(d)));
            return b
        }
        if (a instanceof v) {
            var e = {}, g = a.B();
            c = Number(g.get("length"));
            for (d = 0; d < c; d++) e[g.get(d)] = ra(a.get(g.get(d)));
            return e
        }
        return a instanceof u ? function () {
            for (var b = Array.prototype.slice.call(arguments, 0), c = 0; c < b.length; c++) b[c] = sa(b[c]);
            return ra(a.i.apply(a, [{}].concat(b)))
        } : a
    }, sa = function (a) {
        if (fa(a)) {
            for (var b = [], c = 0; c < a.length; c++) a.hasOwnProperty(c) && (b[c] = sa(a[c]));
            return new t(b)
        }
        if (pa(a)) {
            var d =
                new v, e;
            for (e in a) a.hasOwnProperty(e) && d.set(e, sa(a[e]));
            return d
        }
        if ("function" == typeof a) return new u("", function (b) {
            for (var c = Array.prototype.slice.call(arguments, 0), d = 0; d < c.length; d++) c[d] = ra(this.evaluate(c[d]));
            return sa(a.apply(a, c))
        });
        var g = typeof a;
        if (null === a || "string" == g || "number" == g || "boolean" == g) return a
    };
    var ta = {
        control: function (a, b) {
            return new f(a, this.evaluate(b))
        }, fn: function (a, b, c) {
            var d = this.w(), e = this.evaluate(b);
            if (!(e instanceof t)) throw"Error: non-List value given for Fn argument names.";
            var g = Array.prototype.slice.call(arguments, 2);
            return new u(a, function () {
                return function (a) {
                    for (var b = new ea(d), c = Array.prototype.slice.call(arguments, 0), h = 0; h < c.length; h++) if (c[h] = this.evaluate(c[h]), c[h] instanceof f) return c[h];
                    var n = e.get("length");
                    for (h = 0; h < n; h++) h < c.length ? b.set(e.get(h), c[h]) : b.set(e.get(h),
                        void 0);
                    b.set("arguments", new t(c));
                    var p = ja(b, g);
                    if (p instanceof f) return "return" == p.o ? p.getData() : p
                }
            }())
        }, list: function (a) {
            for (var b = new t, c = 0; c < arguments.length; c++) b.push(this.evaluate(arguments[c]));
            return b
        }, map: function (a) {
            for (var b = new v, c = 0; c < arguments.length - 1; c += 2) b.set(this.evaluate(arguments[c]), this.evaluate(arguments[c + 1]));
            return b
        }, undefined: function () {
        }
    };
    var ua = function () {
        this.Xa = new ea
    };
    ua.prototype.C = function (a, b) {
        var c = new u(a, b);
        c.G = !0;
        this.Xa.set(a, c)
    };
    ua.prototype.addInstruction = ua.prototype.C;
    ua.prototype.Ra = function (a, b) {
        ta.hasOwnProperty(a) && this.C(b || a, ta[a])
    };
    ua.prototype.addNativeInstruction = ua.prototype.Ra;
    ua.prototype.s = function (a, b) {
        var c = Array.prototype.slice.call(arguments, 0), d = ia(this.Xa, c);
        if (d instanceof f || d instanceof u || d instanceof t || d instanceof v || null === d || void 0 === d || "string" == typeof d || "number" == typeof d || "boolean" == typeof d) return d
    };
    ua.prototype.execute = ua.prototype.s;
    ua.prototype.ic = function (a) {
        for (var b = 0; b < arguments.length; b++) this.s.apply(this, arguments[b])
    };
    ua.prototype.run = ua.prototype.ic;
    var va = function (a) {
        for (var b = [], c = Number(a.get("length")), d = 0; d < c; d++) a.has(d) && (b[d] = a.get(d));
        return b
    };
    var x = {lc: "concat every filter forEach hasOwnProperty indexOf join lastIndexOf map pop push reduce reduceRight reverse shift slice some sort splice unshift toString".split(" ")},
        y = function (a) {
            return Number(a.get("length"))
        };
    x.concat = function (a, b) {
        for (var c = [], d = y(this), e = 0; e < d; e++) c.push(this.get(e));
        for (e = 1; e < arguments.length; e++) if (arguments[e] instanceof t) for (var g = arguments[e], h = y(g), k = 0; k < h; k++) c.push(g.get(k)); else c.push(arguments[e]);
        return new t(c)
    };
    x.every = function (a, b) {
        for (var c = y(this), d = 0; d < y(this) && d < c; d++) if (this.has(d) && !b.i(a, this.get(d), d, this)) return !1;
        return !0
    };
    x.filter = function (a, b) {
        for (var c = y(this), d = [], e = 0; e < y(this) && e < c; e++) this.has(e) && b.i(a, this.get(e), e, this) && d.push(this.get(e));
        return new t(d)
    };
    x.forEach = function (a, b) {
        for (var c = y(this), d = 0; d < y(this) && d < c; d++) this.has(d) && b.i(a, this.get(d), d, this)
    };
    x.hasOwnProperty = function (a, b) {
        return this.has(b)
    };
    x.indexOf = function (a, b, c) {
        var d = y(this), e = void 0 === c ? 0 : Number(c);
        0 > e && (e = Math.max(d + e, 0));
        for (var g = e; g < d; g++) if (this.has(g) && this.get(g) === b) return g;
        return -1
    };
    x.join = function (a, b) {
        for (var c = [], d = y(this), e = 0; e < d; e++) c.push(this.get(e));
        return c.join(b)
    };
    x.lastIndexOf = function (a, b, c) {
        var d = y(this), e = d - 1;
        void 0 !== c && (e = 0 > c ? d + c : Math.min(c, e));
        for (var g = e; 0 <= g; g--) if (this.has(g) && this.get(g) === b) return g;
        return -1
    };
    x.map = function (a, b) {
        for (var c = y(this), d = [], e = 0; e < y(this) && e < c; e++) this.has(e) && (d[e] = b.i(a, this.get(e), e, this));
        return new t(d)
    };
    x.pop = function () {
        return this.pop()
    };
    x.push = function (a, b) {
        return this.push.apply(this, Array.prototype.slice.call(arguments, 1))
    };
    x.reduce = function (a, b, c) {
        var d = y(this), e, g;
        if (void 0 !== c) e = c, g = 0; else {
            if (0 == d) throw"TypeError: Reduce on List with no elements.";
            for (var h = 0; h < d; h++) if (this.has(h)) {
                e = this.get(h);
                g = h + 1;
                break
            }
            if (h == d) throw"TypeError: Reduce on List with no elements.";
        }
        for (h = g; h < d; h++) this.has(h) && (e = b.i(a, e, this.get(h), h, this));
        return e
    };
    x.reduceRight = function (a, b, c) {
        var d = y(this), e, g;
        if (void 0 !== c) e = c, g = d - 1; else {
            if (0 == d) throw"TypeError: ReduceRight on List with no elements.";
            for (var h = 1; h <= d; h++) if (this.has(d - h)) {
                e = this.get(d - h);
                g = d - (h + 1);
                break
            }
            if (h > d) throw"TypeError: ReduceRight on List with no elements.";
        }
        for (h = g; 0 <= h; h--) this.has(h) && (e = b.i(a, e, this.get(h), h, this));
        return e
    };
    x.reverse = function () {
        for (var a = va(this), b = a.length - 1, c = 0; 0 <= b; b--, c++) a.hasOwnProperty(b) ? this.set(c, a[b]) : this.remove(c);
        return this
    };
    x.shift = function () {
        return this.shift()
    };
    x.slice = function (a, b, c) {
        var d = y(this);
        void 0 === b && (b = 0);
        b = 0 > b ? Math.max(d + b, 0) : Math.min(b, d);
        c = void 0 === c ? d : 0 > c ? Math.max(d + c, 0) : Math.min(c, d);
        c = Math.max(b, c);
        for (var e = [], g = b; g < c; g++) e.push(this.get(g));
        return new t(e)
    };
    x.some = function (a, b) {
        for (var c = y(this), d = 0; d < y(this) && d < c; d++) if (this.has(d) && b.i(a, this.get(d), d, this)) return !0;
        return !1
    };
    x.sort = function (a, b) {
        var c = va(this);
        void 0 === b ? c.sort() : c.sort(function (c, d) {
            return Number(b.i(a, c, d))
        });
        for (var d = 0; d < c.length; d++) c.hasOwnProperty(d) ? this.set(d, c[d]) : this.remove(d)
    };
    x.splice = function (a, b, c, d) {
        return this.splice.apply(this, Array.prototype.splice.call(arguments, 1, arguments.length - 1))
    };
    x.toString = function () {
        return this.toString()
    };
    x.unshift = function (a, b) {
        return this.unshift.apply(this, Array.prototype.slice.call(arguments, 1))
    };
    var z = {
            fa: {
                ADD: 0,
                AND: 1,
                APPLY: 2,
                ASSIGN: 3,
                BREAK: 4,
                CASE: 5,
                CONTINUE: 6,
                CONTROL: 49,
                CREATE_ARRAY: 7,
                CREATE_OBJECT: 8,
                DEFAULT: 9,
                DEFN: 50,
                DIVIDE: 10,
                DO: 11,
                EQUALS: 12,
                EXPRESSION_LIST: 13,
                FN: 51,
                FOR: 14,
                FOR_IN: 47,
                GET: 15,
                GET_CONTAINER_VARIABLE: 48,
                GET_INDEX: 16,
                GET_PROPERTY: 17,
                GREATER_THAN: 18,
                GREATER_THAN_EQUALS: 19,
                IDENTITY_EQUALS: 20,
                IDENTITY_NOT_EQUALS: 21,
                IF: 22,
                LESS_THAN: 23,
                LESS_THAN_EQUALS: 24,
                MODULUS: 25,
                MULTIPLY: 26,
                NEGATE: 27,
                NOT: 28,
                NOT_EQUALS: 29,
                NULL: 45,
                OR: 30,
                PLUS_EQUALS: 31,
                POST_DECREMENT: 32,
                POST_INCREMENT: 33,
                PRE_DECREMENT: 34,
                PRE_INCREMENT: 35,
                QUOTE: 46,
                RETURN: 36,
                SET_PROPERTY: 43,
                SUBTRACT: 37,
                SWITCH: 38,
                TERNARY: 39,
                TYPEOF: 40,
                UNDEFINED: 44,
                VAR: 41,
                WHILE: 42
            }
        },
        wa = "charAt concat indexOf lastIndexOf match replace search slice split substring toLowerCase toLocaleLowerCase toString toUpperCase toLocaleUpperCase trim".split(" "),
        xa = new f("break"), ya = new f("continue");
    z.add = function (a, b) {
        return this.evaluate(a) + this.evaluate(b)
    };
    z.and = function (a, b) {
        return this.evaluate(a) && this.evaluate(b)
    };
    z.apply = function (a, b, c) {
        a = this.evaluate(a);
        b = this.evaluate(b);
        c = this.evaluate(c);
        if (!(c instanceof t)) throw"Error: Non-List argument given to Apply instruction.";
        if (null === a || void 0 === a) throw"TypeError: Can't read property " + b + " of " + a + ".";
        if ("boolean" == typeof a || "number" == typeof a) {
            if ("toString" == b) return a.toString();
            throw"TypeError: " + a + "." + b + " is not a function.";
        }
        if ("string" == typeof a) {
            if (0 <= ha(wa, b)) return sa(a[b].apply(a, va(c)));
            throw"TypeError: " + b + " is not a function";
        }
        if (a instanceof t) {
            if (a.has(b)) {
                var d =
                    a.get(b);
                if (d instanceof u) {
                    var e = va(c);
                    e.unshift(this.w());
                    return d.i.apply(d, e)
                }
                throw"TypeError: " + b + " is not a function";
            }
            if (0 <= ha(x.lc, b)) return e = va(c), e.unshift(this.w()), x[b].apply(a, e)
        }
        if (a instanceof u || a instanceof v) {
            if (a.has(b)) {
                d = a.get(b);
                if (d instanceof u) return e = va(c), e.unshift(this.w()), d.i.apply(d, e);
                throw"TypeError: " + b + " is not a function";
            }
            if ("toString" == b) return a instanceof u ? a.getName() : a.toString();
            if ("hasOwnProperty" == b) return a.has.apply(a, va(c))
        }
        throw"TypeError: Object has no '" +
        b + "' property.";
    };
    z.assign = function (a, b) {
        a = this.evaluate(a);
        if ("string" != typeof a) throw"Invalid key name given for assignment.";
        var c = this.w();
        if (!c.has(a)) throw"Attempting to assign to undefined value " + b;
        var d = this.evaluate(b);
        c.set(a, d);
        return d
    };
    z["break"] = function () {
        return xa
    };
    z["case"] = function (a) {
        for (var b = this.evaluate(a), c = 0; c < b.length; c++) {
            var d = this.evaluate(b[c]);
            if (d instanceof f) return d
        }
    };
    z["continue"] = function () {
        return ya
    };
    z.Fb = function (a, b, c) {
        var d = new t;
        b = this.evaluate(b);
        for (var e = 0; e < b.length; e++) d.push(b[e]);
        var g = [z.fa.FN, a, d].concat(Array.prototype.splice.call(arguments, 2, arguments.length - 2));
        this.w().set(a, this.evaluate(g))
    };
    z.Ib = function (a, b) {
        return this.evaluate(a) / this.evaluate(b)
    };
    z.Kb = function (a, b) {
        return this.evaluate(a) == this.evaluate(b)
    };
    z.Mb = function (a) {
        for (var b, c = 0; c < arguments.length; c++) b = this.evaluate(arguments[c]);
        return b
    };
    z.Pb = function (a, b, c) {
        a = this.evaluate(a);
        b = this.evaluate(b);
        c = this.evaluate(c);
        var d = this.w();
        if ("string" == typeof b) for (var e = 0; e < b.length; e++) {
            d.set(a, e);
            var g = this.ba(c);
            if (g instanceof f) {
                if ("break" == g.o) break;
                if ("return" == g.o) return g
            }
        } else if (b instanceof v || b instanceof t || b instanceof u) {
            var h = b.B(), k = Number(h.get("length"));
            for (e = 0; e < k; e++) if (d.set(a, h.get(e)), g = this.ba(c), g instanceof f) {
                if ("break" == g.o) break;
                if ("return" == g.o) return g
            }
        }
    };
    z.get = function (a) {
        return this.w().get(this.evaluate(a))
    };
    z.Wa = function (a, b) {
        var c;
        a = this.evaluate(a);
        b = this.evaluate(b);
        if (void 0 === a || null === a) throw"TypeError: cannot access property of " + a + ".";
        a instanceof v || a instanceof t || a instanceof u ? c = a.get(b) : "string" == typeof a && ("length" == b ? c = a.length : ba(b) && (c = a[b]));
        return c
    };
    z.Rb = function (a, b) {
        return this.evaluate(a) > this.evaluate(b)
    };
    z.Sb = function (a, b) {
        return this.evaluate(a) >= this.evaluate(b)
    };
    z.Ub = function (a, b) {
        return this.evaluate(a) === this.evaluate(b)
    };
    z.Vb = function (a, b) {
        return this.evaluate(a) !== this.evaluate(b)
    };
    z["if"] = function (a, b, c) {
        var d = [];
        this.evaluate(a) ? d = this.evaluate(b) : c && (d = this.evaluate(c));
        var e = this.ba(d);
        if (e instanceof f) return e
    };
    z.Yb = function (a, b) {
        return this.evaluate(a) < this.evaluate(b)
    };
    z.Zb = function (a, b) {
        return this.evaluate(a) <= this.evaluate(b)
    };
    z.$b = function (a, b) {
        return this.evaluate(a) % this.evaluate(b)
    };
    z.multiply = function (a, b) {
        return this.evaluate(a) * this.evaluate(b)
    };
    z.ac = function (a) {
        return -this.evaluate(a)
    };
    z.bc = function (a) {
        return !this.evaluate(a)
    };
    z.cc = function (a, b) {
        return this.evaluate(a) != this.evaluate(b)
    };
    z["null"] = function () {
        return null
    };
    z.or = function (a, b) {
        return this.evaluate(a) || this.evaluate(b)
    };
    z.fb = function (a, b) {
        var c = this.evaluate(a);
        this.evaluate(b);
        return c
    };
    z.gb = function (a) {
        return this.evaluate(a)
    };
    z.quote = function (a) {
        return Array.prototype.slice.apply(arguments)
    };
    z["return"] = function (a) {
        return new f("return", this.evaluate(a))
    };
    z.setProperty = function (a, b, c) {
        a = this.evaluate(a);
        b = this.evaluate(b);
        c = this.evaluate(c);
        if (null === a || void 0 === a) throw"TypeError: Can't set property " + b + " of " + a + ".";
        (a instanceof u || a instanceof t || a instanceof v) && a.set(b, c);
        return c
    };
    z.kc = function (a, b) {
        return this.evaluate(a) - this.evaluate(b)
    };
    z["switch"] = function (a, b, c) {
        a = this.evaluate(a);
        b = this.evaluate(b);
        c = this.evaluate(c);
        if (!fa(b) || !fa(c)) throw"Error: Malformed switch instruction.";
        for (var d, e = !1, g = 0; g < b.length; g++) if (e || a === this.evaluate(b[g])) if (d = this.evaluate(c[g]), d instanceof f) {
            var h = d.o;
            if ("break" == h) return;
            if ("return" == h || "continue" == h) return d
        } else e = !0;
        if (c.length == b.length + 1 && (d = this.evaluate(c[c.length - 1]), d instanceof f && ("return" == d.o || "continue" == d.o))) return d
    };
    z.mc = function (a, b, c) {
        return this.evaluate(a) ? this.evaluate(b) : this.evaluate(c)
    };
    z["typeof"] = function (a) {
        a = this.evaluate(a);
        return a instanceof u ? "function" : typeof a
    };
    z.undefined = function () {
    };
    z["var"] = function (a) {
        for (var b = this.w(), c = 0; c < arguments.length; c++) {
            var d = arguments[c];
            "string" != typeof d || b.add(d, void 0)
        }
    };
    z["while"] = function (a, b, c, d) {
        var e, g = this.evaluate(d);
        if (this.evaluate(c) && (e = this.ba(g), e instanceof f)) {
            if ("break" == e.o) return;
            if ("return" == e.o) return e
        }
        for (; this.evaluate(a);) {
            e = this.ba(g);
            if (e instanceof f) {
                if ("break" == e.o) break;
                if ("return" == e.o) return e
            }
            this.evaluate(b)
        }
    };
    var D = function () {
        this.Ya = !1;
        this.M = new ua;
        this.O = new v;
        za(this);
        this.s([z.fa.VAR, "gtmUtils"]);
        this.s([z.fa.ASSIGN, "gtmUtils", this.O]);
        this.Ya = !0
    };
    D.prototype.Xb = function () {
        return this.Ya
    };
    D.prototype.isInitialized = D.prototype.Xb;
    D.prototype.s = function (a) {
        return this.M.s.apply(this.M, a)
    };
    D.prototype.execute = D.prototype.s;
    var za = function (a) {
        function b(a, b) {
            e.M.Ra(a, String(b))
        }

        function c(a, b) {
            e.M.C(String(d[a]), b)
        }

        var d = z.fa, e = a;
        b("control", d.CONTROL);
        b("fn", d.FN);
        b("list", d.CREATE_ARRAY);
        b("map", d.CREATE_OBJECT);
        b("undefined", d.UNDEFINED);
        c("ADD", z.add);
        c("AND", z.and);
        c("APPLY", z.apply);
        c("ASSIGN", z.assign);
        c("BREAK", z["break"]);
        c("CASE", z["case"]);
        c("CONTINUE", z["continue"]);
        c("DEFAULT", z["case"]);
        c("DEFN", z.Fb);
        c("DIVIDE", z.Ib);
        c("EQUALS", z.Kb);
        c("EXPRESSION_LIST", z.Mb);
        c("FOR_IN", z.Pb);
        c("GET", z.get);
        c("GET_INDEX",
            z.Wa);
        c("GET_PROPERTY", z.Wa);
        c("GREATER_THAN", z.Rb);
        c("GREATER_THAN_EQUALS", z.Sb);
        c("IDENTITY_EQUALS", z.Ub);
        c("IDENTITY_NOT_EQUALS", z.Vb);
        c("IF", z["if"]);
        c("LESS_THAN", z.Yb);
        c("LESS_THAN_EQUALS", z.Zb);
        c("MODULUS", z.$b);
        c("MULTIPLY", z.multiply);
        c("NEGATE", z.ac);
        c("NOT", z.bc);
        c("NOT_EQUALS", z.cc);
        c("NULL", z["null"]);
        c("OR", z.or);
        c("POST_DECREMENT", z.fb);
        c("POST_INCREMENT", z.fb);
        c("PRE_DECREMENT", z.gb);
        c("PRE_INCREMENT", z.gb);
        c("QUOTE", z.quote);
        c("RETURN", z["return"]);
        c("SET_PROPERTY", z.setProperty);
        c("SUBTRACT", z.kc);
        c("SWITCH", z["switch"]);
        c("TERNARY", z.mc);
        c("TYPEOF", z["typeof"]);
        c("VAR", z["var"]);
        c("WHILE", z["while"])
    };
    D.prototype.rb = function (a) {
        this.M.C(String(z.fa.GET_CONTAINER_VARIABLE), a)
    };
    D.prototype.addContainerVariableInstruction = D.prototype.rb;
    D.prototype.sb = function (a, b) {
        for (var c = new v, d = b.B(), e = Number(d.get("length")), g = 0; g < e; g++) {
            var h = d.get(g);
            c.set(h, b.get(h))
        }
        c.G = !0;
        b.set("base", c);
        this.O.set(a, b)
    };
    D.prototype.addLibrary = D.prototype.sb;
    D.prototype.C = function (a, b) {
        this.M.C(a, b)
    };
    D.prototype.addInstruction = D.prototype.C;
    D.prototype.Nb = function (a) {
        a && this.s([a, this.O]);
        for (var b = this.O.B(), c = Number(b.get("length")), d = 0; d < c; d++) {
            var e = b.get(d);
            this.O.get(e).G = !0
        }
        this.O.G = !0
    };
    D.prototype.finalize = D.prototype.Nb;
    var Aa = function () {
        this.oa = {}
    };
    Aa.prototype.get = function (a) {
        return this.oa.hasOwnProperty(a) ? this.oa[a] : void 0
    };
    Aa.prototype.add = function (a, b) {
        if (this.oa.hasOwnProperty(a)) throw"Attempting to add a function which already exists: " + a + ".";
        var c = new u(a, function () {
            for (var a = Array.prototype.slice.call(arguments, 0), c = 0; c < a.length; c++) a[c] = this.evaluate(a[c]);
            return b.apply(this, a)
        });
        c.G = !0;
        this.oa[a] = c
    };
    Aa.prototype.addAll = function (a) {
        for (var b in a) a.hasOwnProperty(b) && this.add(b, a[b])
    };
    var F = window, H = document, Ba = function (a, b) {
        var c = F[a];
        F[a] = void 0 === c ? b : c;
        return F[a]
    }, Ca = function (a) {
        var b = H.getElementsByTagName("script")[0] || H.body || H.head;
        b.parentNode.insertBefore(a, b)
    }, Da = function (a, b) {
        b && (a.addEventListener ? a.onload = b : a.onreadystatechange = function () {
            a.readyState in {loaded: 1, complete: 1} && (a.onreadystatechange = null, b())
        })
    }, Q = function (a, b, c) {
        var d = H.createElement("script");
        d.type = "text/javascript";
        d.async = !0;
        d.src = a;
        Da(d, b);
        c && (d.onerror = c);
        Ca(d);
        return d
    }, Ea = function (a, b) {
        var c =
            H.createElement("iframe");
        c.height = "0";
        c.width = "0";
        c.style.display = "none";
        c.style.visibility = "hidden";
        Ca(c);
        Da(c, b);
        void 0 !== a && (c.src = a)
    }, R = function (a, b, c) {
        var d = new Image(1, 1);
        d.onload = function () {
            d.onload = null;
            b && b()
        };
        d.onerror = function () {
            d.onerror = null;
            c && c()
        };
        d.src = a
    }, Fa = function (a, b, c, d) {
        a.addEventListener ? a.addEventListener(b, c, !!d) : a.attachEvent && a.attachEvent("on" + b, c)
    }, Ga = function (a, b, c) {
        a.removeEventListener ? a.removeEventListener(b, c, !1) : a.detachEvent && a.detachEvent("on" + b, c)
    }, S = function (a) {
        F.setTimeout(a,
            0)
    }, Ia = function (a) {
        var b = H.getElementById(a);
        if (b && Ha(b, "id") != a) for (var c = 1; c < document.all[a].length; c++) if (Ha(document.all[a][c], "id") == a) return document.all[a][c];
        return b
    }, Ha = function (a, b) {
        return a && b && a.attributes && a.attributes[b] ? a.attributes[b].value : null
    }, Ja = function (a) {
        var b = a.innerText || a.textContent || "";
        b && " " != b && (b = b.replace(/^[\s\xa0]+|[\s\xa0]+$/g, ""));
        b && (b = b.replace(/(\xa0+|\s{2,}|\n|\r\t)/g, " "));
        return b
    }, Ka = function (a) {
        var b = H.createElement("div");
        b.innerHTML = "A<div>" + a + "</div>";
        b = b.lastChild;
        for (var c = []; b.firstChild;) c.push(b.removeChild(b.firstChild));
        return c
    };
    var La = function (a, b) {
        for (var c = a.split("&"), d = 0; d < c.length; d++) {
            var e = c[d].split("=");
            if (decodeURIComponent(e[0]).replace(/\+/g, " ") == b) return decodeURIComponent(e.slice(1).join("=")).replace(/\+/g, " ")
        }
    }, Ma = function (a, b, c, d, e) {
        var g, h = a.protocol || F.location.protocol;
        h = h.replace(":", "").toLowerCase();
        b && (b = String(b).toLowerCase());
        switch (b) {
            case "protocol":
                g = h;
                break;
            case "host":
                g = (a.hostname || F.location.hostname).split(":")[0].toLowerCase();
                if (c) {
                    var k = /^www\d*\./.exec(g);
                    k && k[0] && (g = g.substr(k[0].length))
                }
                break;
            case "port":
                g = String(1 * (a.hostname ? a.port : F.location.port) || ("http" == h ? 80 : "https" == h ? 443 : ""));
                break;
            case "path":
                g = "/" == a.pathname.substr(0, 1) ? a.pathname : "/" + a.pathname;
                var l = g.split("/");
                0 <= ha(d || [], l[l.length - 1]) && (l[l.length - 1] = "");
                g = l.join("/");
                break;
            case "query":
                g = a.search.replace("?", "");
                e && (g = La(g, e));
                break;
            case "fragment":
                g = a.hash.replace("#", "");
                break;
            default:
                g = a && a.href
        }
        return g
    }, Na = function (a) {
        var b = "";
        a && a.href && (b = a.hash ? a.href.replace(a.hash, "") : a.href);
        return b
    }, U = function (a) {
        var b =
            H.createElement("a");
        a && (b.href = a);
        return b
    };
    var Qa = function () {
        this.eb = new D;
        var a = new Aa;
        a.addAll(Oa());
        Pa(this, function (b) {
            return a.get(b)
        })
    }, Oa = function () {
        return {
            callInWindow: Ra,
            getCurrentUrl: Sa,
            getInWindow: Ta,
            getReferrer: Ua,
            getUrlComponent: Va,
            getUrlFragment: Wa,
            isPlainObject: Xa,
            loadIframe: Ya,
            loadJavaScript: Za,
            removeUrlFragment: bb,
            replaceAll: cb,
            sendTrackingBeacon: db,
            setInWindow: eb
        }
    };
    Qa.prototype.s = function (a) {
        return this.eb.s(a)
    };
    Qa.prototype.execute = Qa.prototype.s;
    var Pa = function (a, b) {
        a.eb.C("require", b)
    };

    function Ra(a, b) {
        for (var c = a.split("."), d = F, e = d[c[0]], g = 1; e && g < c.length; g++) d = e, e = e[c[g]];
        if ("function" == na(e)) {
            var h = [];
            for (g = 1; g < arguments.length; g++) h.push(ra(arguments[g]));
            e.apply(d, h)
        }
    }

    function Sa() {
        return F.location.href
    }

    function Ta(a, b, c) {
        for (var d = a.split("."), e = F, g = 0; g < d.length - 1; g++) if (e = e[d[g]], void 0 === e || null === e) return;
        b && (void 0 === e[d[g]] || c && !e[d[g]]) && (e[d[g]] = ra(b));
        return sa(e[d[g]])
    }

    function Ua() {
        return H.referrer
    }

    function Va(a, b, c, d, e) {
        var g;
        if (d && d instanceof t) {
            g = [];
            for (var h = Number(d.get("length")), k = 0; k < h; k++) {
                var l = d.get(k);
                "string" == typeof l && g.push(l)
            }
        }
        return Ma(U(a), b, c, g, e)
    }

    function Wa(a) {
        return Ma(U(a), "fragment")
    }

    function Xa(a) {
        return a instanceof v
    }

    function Ya(a, b) {
        var c = this.w();
        Ea(a, function () {
            b instanceof u && b.i(c)
        })
    }

    var fb = {};

    function Za(a, b, c, d) {
        var e = this.w(), g = function () {
            b instanceof u && b.i(e)
        }, h = function () {
            c instanceof u && c.i(e)
        };
        d ? fb[d] ? (fb[d].onSuccess.push(g), fb[d].onFailure.push(h)) : (fb[d] = {
            onSuccess: [g],
            onFailure: [h]
        }, Q(a, function () {
            for (var a = fb[d].onSuccess, b = 0; b < a.length; b++) S(a[b]);
            a.push = function (a) {
                S(a);
                return 0
            }
        }, function () {
            for (var a = fb[d].onFailure, b = 0; b < a.length; b++) S(a[b]);
            fb[d] = null
        })) : Q(a, g, h)
    }

    function bb(a) {
        return Na(U(a))
    }

    function cb(a, b, c) {
        return a.replace(new RegExp(b, "g"), c)
    }

    function db(a, b, c) {
        var d = this.w();
        R(a, function () {
            b instanceof u && b.i(d)
        }, function () {
            c instanceof u && c.i(d)
        })
    }

    function eb(a, b, c) {
        for (var d = a.split("."), e = F, g = 0; g < d.length - 1; g++) if (e = e[d[g]], void 0 === e) return !1;
        return void 0 === e[d[g]] || c ? (e[d[g]] = ra(b), !0) : !1
    };var Cb, Db = [], Eb = [], Fb = [], Gb = [], Hb = [], Ib = {}, Jb = function (a) {
        var b = a["function"];
        if (!b) throw"Error: No function name given for function call.";
        if (Ib[b]) {
            var c = {}, d;
            for (d in a) a.hasOwnProperty(d) && 0 === d.indexOf("vtp_") && (c[d] = a[d]);
            return Ib[b](c)
        }
        var e = new v, g;
        for (g in a) a.hasOwnProperty(g) && 0 === g.indexOf("vtp_") && e.set(g.substr(4), sa(a[g]));
        var h = Cb([b, e]);
        h instanceof f && "return" === h.o && (h = h.getData());
        return ra(h)
    }, Lb = function (a, b, c) {
        c = c || [];
        var d = {}, e;
        for (e in a) a.hasOwnProperty(e) && (d[e] = Kb(a[e],
            b, c));
        return d
    }, Kb = function (a, b, c) {
        if (fa(a)) {
            var d;
            switch (a[0]) {
                case "function_id":
                    return a[1];
                case "list":
                    d = [];
                    for (var e = 1; e < a.length; e++) d.push(Kb(a[e], b, c));
                    return d;
                case "macro":
                    var g = a[1];
                    if (c[g]) throw Error("Macro cycle detected. Resolving macro " + g + "results in it resolving itself.");
                    if (Db[g]) return c[g] = !0, d = Jb(Lb(Db[g], b, c)), c[g] = !1, d;
                    throw Error("Unable to resolve macro reference " + g + ".");
                case "map":
                    d = {};
                    for (var h = 1; h < a.length; h += 2) d[Kb(a[h], b, c)] = Kb(a[h + 1], b, c);
                    return d;
                case "template":
                    d =
                        [];
                    for (var k = 1; k < a.length; k++) d.push(Kb(a[k], b, c));
                    return d.join("");
                case "escape":
                    d = Kb(a[1], b, c);
                    for (var l = 2; l < a.length; l++) gb[a[l]] && (d = gb[a[l]](d));
                    return d;
                case "tag":
                    var m = a[1];
                    if (!Gb[m]) throw Error("Unable to resolve tag reference " + m + ".");
                    return d = {N: a[2], index: m};
                default:
                    throw Error("Attempting to expand unknown Value type: " + a[0] + ".");
            }
        }
        return a
    };
    var Mb = null, Nb, Qb = function (a) {
        function b(a) {
            for (var b = 0; b < a.length; b++) d[a[b]] = !0
        }

        var c = [], d = [];
        Mb = Ob(a);
        for (var e = 0; e < Eb.length; e++) {
            var g = Eb[e], h = Pb(g);
            if (h) {
                for (var k = g.add || [], l = 0; l < k.length; l++) c[k[l]] = !0;
                b(g.block || [])
            } else null === h && b(g.block || [])
        }
        var m = [];
        for (e = 0; e < Gb.length; e++) c[e] && !d[e] && (m[e] = !0);
        return m
    }, Pb = function (a) {
        for (var b = a["if"] || [], c = 0; c < b.length; c++) {
            var d = Mb(b[c]);
            if (!d) return null === d ? null : !1
        }
        var e = a.unless || [];
        for (c = 0; c < e.length; c++) {
            d = Mb(e[c]);
            if (null === d) return null;
            if (d) return !1
        }
        return !0
    }, Ob = function (a) {
        var b = [];
        return function (c) {
            if (void 0 !== b[c]) return b[c];
            var d = Fb[c], e = null;
            if (a(d)) e = !1; else try {
                e = Nb(Lb(d, a))
            } catch (g) {
            }
            return b[c] = null === e ? e : !!e
        }
    };
    var Rb = {}, Sb = null;
    Rb.K = "UA-112330709-1";
    var Tb = null, Ub = {}, Vb = {};
    var Wb = function () {
    }, Xb = function (a) {
        return "function" == typeof a
    }, Yb = function (a) {
        return "string" == na(a)
    }, Zb = function (a) {
        return "number" == na(a) && !isNaN(a)
    }, $b = function (a) {
        return !!a && ("[object Arguments]" == Object.prototype.toString.call(a) || Object.prototype.hasOwnProperty.call(a, "callee"))
    }, ac = function (a) {
        return Math.round(Number(a)) || 0
    }, bc = function (a) {
        return "false" == String(a).toLowerCase() ? !1 : !!a
    }, cc = function (a) {
        var b = [];
        if (fa(a)) for (var c = 0; c < a.length; c++) b.push(String(a[c]));
        return b
    }, dc = function (a) {
        return a ?
            a.replace(/^\s+|\s+$/g, "") : ""
    }, ec = function (a, b) {
        if (!Zb(a) || !Zb(b) || a > b) a = 0, b = 2147483647;
        return Math.floor(Math.random() * (b - a + 1) + a)
    }, fc = function () {
        this.prefix = "gtm.";
        this.values = {}
    };
    fc.prototype.set = function (a, b) {
        this.values[this.prefix + a] = b
    };
    fc.prototype.get = function (a) {
        return this.values[this.prefix + a]
    };
    fc.prototype.contains = function (a) {
        return void 0 !== this.get(a)
    };
    var gc = function () {
        var a = Sb.sequence || 0;
        Sb.sequence = a + 1;
        return a
    }, hc = function (a, b, c) {
        return a && a.hasOwnProperty(b) ? a[b] : c
    }, ic = function (a) {
        var b = !1;
        return function () {
            if (!b) try {
                a()
            } catch (c) {
            }
            b = !0
        }
    };
    var kc = function (a, b) {
    }, lc = function (a, b) {
    }, mc = function (a, b) {
    }, nc = function (a, b) {
    }, oc = function () {
    };
    var rc = !1, sc = 0, tc = [];

    function uc(a) {
        if (!rc) {
            var b = H.createEventObject, c = "complete" == H.readyState, d = "interactive" == H.readyState;
            if (!a || "readystatechange" != a.type || c || !b && d) {
                rc = !0;
                for (var e = 0; e < tc.length; e++) S(tc[e])
            }
            tc.push = function () {
                for (var a = 0; a < arguments.length; a++) S(arguments[a]);
                return 0
            }
        }
    }

    function vc() {
        if (!rc && 140 > sc) {
            sc++;
            try {
                H.documentElement.doScroll("left"), uc()
            } catch (a) {
                F.setTimeout(vc, 50)
            }
        }
    };var wc = function () {
        var a = function (a) {
            return {
                toString: function () {
                    return a
                }
            }
        };
        return {
            V: a("function"),
            qc: a("live_only"),
            nb: a("tag_id"),
            lb: a("once_per_event"),
            Pa: a("once_per_load"),
            mb: a("setup_tags"),
            ob: a("teardown_tags")
        }
    }();
    var xc = new fc, yc = {}, Bc = {
        set: function (a, b) {
            qa(zc(a, b), yc)
        }, get: function (a) {
            return Ac(a, 2)
        }, reset: function () {
            xc = new fc;
            yc = {}
        }
    }, Ac = function (a, b) {
        return 2 != b ? xc.get(a) : Cc(a)
    }, Cc = function (a, b, c) {
        var d = a.split(".");
        var e = function (a, b) {
            for (var c = 0; void 0 !== a && c < d.length; c++) a = a[d[c]];
            return void 0 !== a || 1 < c ? a : b.length ? e(Dc(b.pop()), b) : Ec(d)
        };
        return e(yc.eventModel, [b, c]);
        return Ec(d)
    }, Ec = function (a) {
        for (var b = yc, c = 0; c < a.length && void 0 !== b; c++) b =
            b[a[c]];
        return b
    };
    var Dc = function (a) {
        if (a) {
            var b = Ec(["gtag", "targets", a]);
            return pa(b) ? b : void 0
        }
    }, Fc = function (a, b) {
        function c(a) {
            if (a) for (var b in a) a.hasOwnProperty(b) && (d[b] = null)
        }

        var d = {};
        c(yc);
        delete d.eventModel;
        c(Dc(a));
        c(Dc(b));
        c(yc.eventModel);
        var e = [], g;
        for (g in d) d.hasOwnProperty(g) && e.push(g);
        return e
    };
    var Gc = function (a, b) {
        xc.set(a, b);
        qa(zc(a, b), yc)
    }, zc = function (a, b) {
        for (var c = {}, d = c, e = a.split("."), g = 0; g < e.length - 1; g++) d = d[e[g]] = {};
        d[e[e.length - 1]] = b;
        return c
    };
    var Hc = new RegExp(/^(.*\.)?(google|youtube|blogger|withgoogle)(\.com?)?(\.[a-z]{2})?\.?$/), Ic = {
        customPixels: ["nonGooglePixels"],
        html: ["customScripts", "customPixels", "nonGooglePixels", "nonGoogleScripts", "nonGoogleIframes"],
        customScripts: ["html", "customPixels", "nonGooglePixels", "nonGoogleScripts", "nonGoogleIframes"],
        nonGooglePixels: [],
        nonGoogleScripts: ["nonGooglePixels"],
        nonGoogleIframes: ["nonGooglePixels"]
    }, Jc = {
        customPixels: ["customScripts", "html"],
        html: ["customScripts"],
        customScripts: ["html"],
        nonGooglePixels: ["customPixels",
            "customScripts", "html", "nonGoogleScripts", "nonGoogleIframes"],
        nonGoogleScripts: ["customScripts", "html"],
        nonGoogleIframes: ["customScripts", "html", "nonGoogleScripts"]
    }, Kc = function (a, b) {
        for (var c = [], d = 0; d < a.length; d++) c.push(a[d]), c.push.apply(c, b[a[d]] || []);
        return c
    };
    var Lc = function () {
        var a = Ac("gtm.whitelist");
        a = "gtagua gtagaw gtagfl e v oid op cn css ew eq ge gt lc le lt re sw um".split(" ");
        var b = a && Kc(cc(a), Ic), c = Ac("gtm.blacklist") ||
            Ac("tagTypeBlacklist") || [];
        var d = c && Kc(cc(c), Jc), e = {};
        return function (g) {
            var h = g && g[wc.V];
            if (!h || "string" != typeof h) return !0;
            h = h.replace(/_/g, "");
            if (void 0 !== e[h]) return e[h];
            var k = Vb[h] || [], l = !0;
            if (a) a:{
                if (0 > ha(b, h)) if (k && 0 < k.length) for (var m = 0; m < k.length; m++) {
                    if (0 > ha(b,
                        k[m])) {
                        l = !1;
                        break a
                    }
                } else {
                    l = !1;
                    break a
                }
                l = !0
            }
            var n = !1;
            if (c) {
                var p;
                if (!(p = 0 <= ha(d, h))) a:{
                    for (var q = k || [], w = new fc, r = 0; r < d.length; r++) w.set(d[r], !0);
                    for (r = 0; r < q.length; r++) if (w.get(q[r])) {
                        p = !0;
                        break a
                    }
                    p = !1
                }
                n = p
            }
            return e[h] = !l || n
        }
    };

    function Pc(a, b, c, d, e, g) {
        var h = Gb[a], k = Qc(a, b, c, d, e, g);
        if (!k) return null;
        var l = Kb(h[wc.mb], g, []);
        if (l && l.length) {
            var m = l[0], n;
            if (0 === m.N) n = k; else if (1 === m.N) n = e; else throw Error("Unknown setup firing condition: " + m.N);
            k = Pc(m.index, b, k, n, e, g)
        }
        return k
    }

    function Qc(a, b, c, d, e, g) {
        function h() {
            var a = Lb(k, g);
            a.vtp_gtmOnSuccess = c;
            a.vtp_gtmOnFailure = d;
            Jb(a)
        }

        var k = Gb[a];
        if (g(k)) return lc("Tag blacklisted: %s", k), null;
        var l = Kb(k[wc.ob], g, []);
        if (l && l.length) {
            var m = l[0], n = Pc(m.index, b, c, d, e, g);
            if (!n) return null;
            c = n;
            if (0 === m.N) d = n; else if (2 === m.N) d = e; else throw Error("Unknown teardown firing condition: " + m.N);
        }
        if (k[wc.Pa] || k[wc.lb]) {
            var p = k[wc.Pa] ? Hb : b, q = c, w = d;
            if (!p[a]) {
                h = ic(h);
                var r = Rc(a, p, h);
                c = r.S;
                d = r.R
            }
            return function () {
                p[a](q, w)
            }
        }
        return h
    }

    function Rc(a, b, c) {
        var d = [], e = [];
        b[a] = Sc(d, e, c);
        return {
            S: function () {
                b[a] = Tc;
                for (var c = 0; c < d.length; c++) d[c]()
            }, R: function () {
                b[a] = Uc;
                for (var c = 0; c < e.length; c++) e[c]()
            }
        }
    }

    function Sc(a, b, c) {
        return function (d, e) {
            a.push(d);
            b.push(e);
            c()
        }
    }

    function Tc(a) {
        a()
    }

    function Uc(a, b) {
        b()
    };

    function Vc(a) {
        var b = 0, c = 0, d = !1;
        return {
            add: function () {
                c++;
                return ic(function () {
                    b++;
                    d && b >= c && a()
                })
            }, ub: function () {
                d = !0;
                b >= c && a()
            }
        }
    }

    function Wc(a, b, c) {
        return function () {
            try {
                a(), kc("Tag fired: %s", c)
            } catch (d) {
                mc("Tag threw exception: %s - %s", c, d), b()
            }
        }
    }

    var Xc = !1;
    var Yc = function (a, b) {
        var c = {};
        c[wc.V] = "__" + a;
        for (var d in b) b.hasOwnProperty(d) && (c["vtp_" + d] = b[d]);
        for (d in void 0) (void 0).hasOwnProperty(d) && (c[d] = (void 0)[d]);
        Gb.push(c);
        return Gb.length - 1
    };
    var Zc = /[A-Z]+/, $c = /\s/, ad = function (a) {
        function b() {
            mc('Cannot parse target: "%s"', a)
        }

        if (Yb(a) && (a = a.trim(), !$c.test(a))) {
            var c = a.indexOf("-");
            if (!(0 > c)) {
                var d = a.substring(0, c);
                if (Zc.test(d)) {
                    for (var e = a.substring(c + 1).split("/"), g = 0; g < e.length; g++) if (!e[g]) {
                        b();
                        return
                    }
                    return {id: a, prefix: d, containerId: d + "-" + e[0], ea: e}
                }
            }
        }
        b()
    };
    var bd = null, cd = {}, dd = {}, ed;

    function fd() {
        bd = bd || !Sb.gtagRegistered;
        Sb.gtagRegistered = !0;
        return bd
    }

    var gd = function (a, b) {
        var c = {event: a};
        b && (c.eventModel = qa(b, void 0), b.event_callback && (c.eventCallback = b.event_callback), b.event_timeout && (c.eventTimeout = b.event_timeout));
        return c
    };

    function hd(a) {
        if (void 0 === dd[a.id]) {
            var b;
            if ("UA" == a.prefix) b = Yc("gtagua", {trackingId: a.id}); else if ("AW" == a.prefix) b = Yc("gtagaw", {conversionId: a}); else if ("DC" == a.prefix) b = Yc("gtagfl", {targetId: a.id}); else {
                mc("Unknown target: %s", a);
                return
            }
            if (!ed) {
                var c = {name: "send_to", dataLayerVersion: 2}, d = {};
                d[wc.V] = "__v";
                for (var e in c) c.hasOwnProperty(e) && (d["vtp_" + e] = c[e]);
                Db.push(d);
                ed = ["macro", Db.length - 1]
            }
            var g = {arg0: ed, arg1: a.id, ignore_case: !1};
            g[wc.V] = "_lc";
            Fb.push(g);
            var h = {"if": [Fb.length - 1], add: [b]};
            h["if"] && (h.add || h.block) && Eb.push(h);
            dd[a.id] = b
        }
    }

    var kd = {
        event: function (a) {
            var b = a[1];
            if (!Yb(b) || 3 < a.length) id("event", "[string, Object]", a); else {
                var c;
                if (2 < a.length) {
                    if (!pa(a[2])) return;
                    c = a[2]
                }
                var d = gd(b, c);
                var e;
                var g = c, h = Ac("gtag.fields.send_to", 2);
                Yb(h) || (h = "send_to");
                var k = g && g[h];
                void 0 === k && (k = Ac(h, 2), void 0 === k && (k = "default"));
                if (Yb(k) || fa(k)) {
                    for (var l, m = k.toString().replace(/\s+/g, "").split(","), n = [], p = 0; p < m.length; p++) 0 <= m[p].indexOf("-") ? n.push(m[p]) : n = n.concat(cd[m[p]] || []);
                    l = n;
                    for (var q = {}, w = 0; w < l.length; ++w) {
                        var r =
                            ad(l[w]);
                        r && (q[r.id] = r)
                    }
                    var B = [], O;
                    for (O in q) if (q.hasOwnProperty(O)) {
                        var T = q[O];
                        "AW" === T.prefix && T.ea[1] && B.push(T.containerId)
                    }
                    for (var C = 0; C < B.length; ++C) delete q[B[C]];
                    var J = [], A;
                    for (A in q) q.hasOwnProperty(A) && J.push(q[A]);
                    e = J
                } else mc('Invalid "send_to" value: %s', k), e = void 0;
                if (!e) return;
                var K = fd();
                K || jd();
                for (var I = [], L = 0; K && L < e.length; L++) {
                    var E = e[L];
                    I.push(E.id);
                    hd(E)
                }
                d.eventModel = d.eventModel || {};
                0 < e.length ? d.eventModel.send_to = I.join() : delete d.eventModel.send_to;
                return d
            }
        }, set: function (a) {
            var b;
            2 == a.length && pa(a[1]) ? b = qa(a[1], void 0) : 3 == a.length && Yb(a[1]) ? (b = {}, b[a[1]] = a[2]) : id("set", "[string, Object] or [string, string, string]", a);
            if (b) return b.eventModel = qa(b, void 0), b.event = "gtag.set", b._clear = !0, b
        }, js: function (a) {
            if (2 == a.length && a[1].getTime) return {event: "gtm.js", "gtm.start": a[1].getTime()};
            id("js", "[js, Date]", a)
        }, config: function (a) {
            var b = a[2] || {};
            if (2 > a.length || !Yb(a[1]) || !pa(b)) {
                id("config", "[string, object]", a);
                return
            }
            var c =
                ad(a[1]);
            if (!c) return;
            fd() ? hd(c) : jd();
            var d = c.id, e;
            for (e in cd) if (cd.hasOwnProperty(e)) {
                var g = ha(cd[e], d);
                0 <= g && cd[e].splice(g, 1)
            }
            var h = c.id, k = b.groups || "default";
            k = k.toString().split(",");
            for (var l = 0; l < k.length; l++) cd[k[l]] = cd[k[l]] || [], cd[k[l]].push(h);
            delete b.groups;
            Gc("gtag.targets." + c.id, void 0);
            Gc("gtag.targets." + c.id, qa(b, void 0));
            kc('GTAG Command: "config", target: %s, configuration: %s', a[1], b);
            return gd("gtag.config", {send_to: c.id});
        }
    };

    function id(a, b, c) {
        mc("Ignored %s command. Invalid arguments found.", a);
        mc("  Expected: %s", b);
        mc("  Actual:   %s", c)
    }

    var jd = ic(function () {
        lc("GTAG script is installed twice.")
    });
    var ld = !1, md = [];

    function nd() {
        if (!ld) {
            ld = !0;
            for (var a = 0; a < md.length; a++) S(md[a])
        }
    };var od = [], pd = !1, qd = function (a) {
        var b = a.eventCallback, c = ic(function () {
            Xb(b) && S(function () {
                b(Rb.K)
            })
        }), d = a.eventTimeout;
        d && F.setTimeout(c, Number(d));
        return c
    }, rd = function () {
        var a = !1;
        for (nc("Processing commands (%s)", od.length); !pd && 0 < od.length;) {
            pd = !0;
            delete yc.eventModel;
            var b = od.shift();
            if (Xb(b)) {
                nc("Processing custom method: %s", b);
                try {
                    b.call(Bc)
                } catch (jb) {
                    mc("Error occurred during custom method invocation: %s", jb)
                }
            } else if (fa(b)) {
                nc("Processing data layer command: %s", b);
                var c = b;
                if (Yb(c[0])) {
                    var d =
                        c[0].split("."), e = d.pop(), g = c.slice(1), h = Ac(d.join("."), 2);
                    if (void 0 !== h && null !== h) try {
                        h[e].apply(h, g)
                    } catch (jb) {
                        mc("Error occurred during command processing: %s", jb)
                    }
                }
            } else {
                if ($b(b)) {
                    nc("Processing GTAG command: %s", b);
                    a:{
                        var k = b;
                        if (k.length) if (Yb(k[0])) {
                            var l = kd[k[0]];
                            if (l) {
                                b = l(k);
                                break a
                            }
                            mc("Unknown command name: %s", k)
                        } else mc("Invalid command name: %s", k); else mc("Command name not specified.");
                        b = void 0
                    }
                    if (!b) {
                        pd = !1;
                        oc();
                        continue
                    }
                } else nc("Processing data layer push: %s", b);
                var m, n = void 0, p = b,
                    q = p._clear;
                for (n in p) p.hasOwnProperty(n) && "_clear" !== n && (q && Gc(n, void 0), Gc(n, p[n]));
                var w = !1, r = p.event;
                if (r) {
                    m = gc();
                    Tb = r;
                    p["gtm.uniqueEventId"] || Gc("gtm.uniqueEventId", m);
                    var B = qd(p);
                    a:{
                        var O = m, T = r, C = B;
                        switch (T) {
                            case "gtm.js":
                                if (Xc) {
                                    w = !1;
                                    break a
                                }
                                Xc = !0
                        }
                        var J = {id: O, name: T, yb: C || Wb, Za: Lc()};
                        J.Ha = Qb(J.Za);
                        for (var E = J, M = Vc(E.yb), G = [], N = [], P = 0; P < E.Ha.length; P++) if (E.Ha[P]) {
                            var ka = Gb[P], la = M.add();
                            try {
                                var $a = Pc(P, G, la, la, la, E.Za);
                                $a ? N.push(Wc($a, la, ka)) : la()
                            } catch (jb) {
                                mc("Error creating tag sequence: %s - %s", ka, jb), la()
                            }
                        }
                        M.ub();
                        for (var ab = 0; ab < N.length; ab++) N[ab]();
                        w = 0 < N.length
                    }
                    w || kc("No tags for event: %s  were fired.", r)
                }
                Tb = null;
                a = w || a
            }
            pd = !1;
            oc()
        }
        oc();
        return !a
    }, sd = function () {
        return rd()
    };
    var td = new fc;

    function ud(a) {
        var b = a.arg0, c = a.arg1;
        switch (a["function"]) {
            case "_cn":
                return 0 <= String(b).indexOf(String(c));
            case "_css":
                var d;
                a:{
                    if (b) {
                        var e = ["matches", "webkitMatchesSelector", "mozMatchesSelector", "msMatchesSelector", "oMatchesSelector"];
                        try {
                            for (var g = 0; g < e.length; g++) if (b[e[g]]) {
                                d = b[e[g]](c);
                                break a
                            }
                        } catch (r) {
                        }
                    }
                    d = !1
                }
                return d;
            case "_ew":
                var h, k;
                h = String(b);
                k = String(c);
                var l = h.length - k.length;
                return 0 <= l && h.indexOf(k, l) == l;
            case "_eq":
                return String(b) == String(c);
            case "_ge":
                return Number(b) >= Number(c);
            case "_gt":
                return Number(b) > Number(c);
            case "_lc":
                var m;
                m = b.toString().split(",");
                return 0 <= ha(m, String(c));
            case "_le":
                return Number(b) <= Number(c);
            case "_lt":
                return Number(b) < Number(c);
            case "_re":
                var n;
                var p = a.ignore_case ? "i" : void 0;
                try {
                    var q = String(c) + p, w = td.get(q);
                    w || (w = new RegExp(c, p), td.set(q, w));
                    n = w.test(b)
                } catch (r) {
                    n = !1
                }
                return n;
            case "_sw":
                return 0 == String(b).indexOf(String(c))
        }
        return !1
    };

    function vd(a, b, c, d) {
        return (d || "https:" == F.location.protocol ? a : b) + c
    }

    function wd(a, b) {
        for (var c = b || (a instanceof t ? new t : new v), d = a.B(), e = Number(d.get("length")), g = 0; g < e; g++) {
            var h = d.get(g);
            if (a.has(h)) {
                var k = a.get(h);
                k instanceof t ? (c.get(h) instanceof t || c.set(h, new t), wd(k, c.get(h))) : k instanceof v ? (c.get(h) instanceof v || c.set(h, new v), wd(k, c.get(h))) : c.set(h, k)
            }
        }
        return c
    }

    function xd() {
        return Rb.K
    }

    function yd() {
        return (new Date).getTime()
    }

    function zd(a, b) {
        return sa(Ac(a, b || 2))
    }

    function Ad() {
        return Tb
    }

    function Bd(a) {
        return Ka('<a href="' + a + '"></a>')[0].href
    }

    function Cd(a) {
        return ac(ra(a))
    }

    function Dd(a) {
        return null === a ? "null" : void 0 === a ? "undefined" : a.toString()
    }

    function Ed(a, b) {
        return ec(a, b)
    }

    function Fd(a, b, c) {
        if (!(a instanceof t)) return null;
        for (var d = new v, e = !1, g = a.get("length"), h = 0; h < g; h++) {
            var k = a.get(h);
            k instanceof v && k.has(b) && k.has(c) && (d.set(k.get(b), k.get(c)), e = !0)
        }
        return e ? d : null
    }

    var Gd = function () {
        var a = new Aa;
        a.addAll(Oa());
        a.addAll({
            buildSafeUrl: vd,
            decodeHtmlUrl: Bd,
            copy: wd,
            generateUniqueNumber: gc,
            getContainerId: xd,
            getCurrentTime: yd,
            getDataLayerValue: zd,
            getEventName: Ad,
            makeInteger: Cd,
            makeString: Dd,
            randomInteger: Ed,
            tableToMap: Fd
        });
        return function (b) {
            return a.get(b)
        }
    };
    var Hd = new Qa;
    var Id = function (a, b) {
        var c = function () {
        };
        c.prototype = a.prototype;
        var d = new c;
        a.apply(d, Array.prototype.slice.call(arguments, 1));
        return d
    };
    var Jd = function (a) {
        return encodeURIComponent(a)
    }, Kd = function (a) {
        var b = ["veinteractive.com", "ve-interactive.cn"];
        if (!a) return !1;
        var c = Ma(U(a), "host");
        if (!c) return !1;
        for (var d = 0; b && d < b.length; d++) {
            var e = b[d] && b[d].toLowerCase();
            if (e) {
                var g = c.length - e.length;
                0 < g && "." != e.charAt(0) && (g--, e = "." + e);
                if (0 <= g && c.indexOf(e, g) == g) return !0
            }
        }
        return !1
    };
    var V = function (a, b, c) {
        for (var d = {}, e = !1, g = 0; a && g < a.length; g++) a[g] && a[g].hasOwnProperty(b) && a[g].hasOwnProperty(c) && (d[a[g][b]] = a[g][c], e = !0);
        return e ? d : null
    }, Ld = function (a, b) {
        qa(a, b)
    }, Md = function (a) {
        return ac(a)
    }, Nd = function (a, b) {
        return ha(a, b)
    };
    var Od = function (a) {
        var b = {
            "gtm.element": a,
            "gtm.elementClasses": a.className,
            "gtm.elementId": a["for"] || Ha(a, "id") || "",
            "gtm.elementTarget": a.formTarget || a.target || ""
        };
        b["gtm.elementUrl"] = (a.attributes && a.attributes.formaction ? a.formAction : "") || a.action || a.href || a.src || a.code || a.codebase || "";
        return b
    }, Pd = function (a) {
        Sb.hasOwnProperty("autoEventsSettings") || (Sb.autoEventsSettings = {});
        var b = Sb.autoEventsSettings;
        b.hasOwnProperty(a) || (b[a] = {});
        return b[a]
    }, Qd = function (a, b, c, d) {
        var e = Pd(a), g = hc(e, b, d);
        e[b] =
            c(g)
    }, Rd = function (a, b, c) {
        var d = Pd(a);
        return hc(d, b, c)
    };
    var Sd = /(^|\.)doubleclick\.net$/i, Td = /^(www\.)?google(\.com?)?(\.[a-z]{2})?$/, Ud = function (a, b, c) {
        for (var d = String(b || H.cookie).split(";"), e = [], g = 0; g < d.length; g++) {
            var h = d[g].split("="), k = dc(h[0]);
            if (k && k == a) {
                var l = dc(h.slice(1).join("="));
                l && !1 !== c && (l = decodeURIComponent(l));
                e.push(l)
            }
        }
        return e
    }, Vd = function (a, b, c, d, e) {
        b = encodeURIComponent(b);
        var g = a + "=" + b + "; ";
        c && (g += "path=" + c + "; ");
        e && (g += "expires=" + e.toGMTString() + "; ");
        var h, k;
        if ("auto" == d) {
            var l = Ma(F.location, "host", !0).split(".");
            if (4 == l.length &&
                /^[0-9]*$/.exec(l[3])) k = ["none"]; else {
                for (var m = [], n = l.length - 2; 0 <= n; n--) m.push(l.slice(n).join("."));
                m.push("none");
                k = m
            }
        } else k = [d || "none"];
        h = k;
        for (var p = H.cookie, q = 0; q < h.length; q++) {
            var w = g, r = h[q], B = c;
            if (Sd.test(F.location.hostname) || "/" == B && Td.test(r)) break;
            "none" != h[q] && (w += "domain=" + h[q] + ";");
            H.cookie = w;
            if (p != H.cookie || 0 <= ha(Ud(a), b)) break
        }
    };
    var Wd = !1;
    if (H.querySelectorAll) try {
        var Xd = H.querySelectorAll(":root");
        Xd && 1 == Xd.length && Xd[0] == H.documentElement && (Wd = !0)
    } catch (a) {
    }
    var Yd = Wd;
    var Zd = function (a) {
        for (var b = [], c = H.cookie.split(";"), d = new RegExp("^\\s*" + a + "=\\s*(.*?)\\s*$"), e = 0; e < c.length; e++) {
            var g = c[e].match(d);
            g && b.push(g[1])
        }
        var h = [];
        if (!b || 0 == b.length) return h;
        for (var k = 0; k < b.length; k++) {
            var l = b[k].split(".");
            3 == l.length && "GCL" == l[0] && l[1] && h.push(l[2])
        }
        return h
    };
    var $d = /^\w+$/, ae = /^[\w-]+$/, be = /^\d+\.fls\.doubleclick\.net$/;

    function ce(a) {
        return a && "string" == typeof a && a.match($d) ? a : "_gcl"
    }

    function de(a) {
        if (a) {
            if ("string" == typeof a) {
                var b = ce(a);
                return {aa: b, Z: b}
            }
            if (a && "object" == typeof a) return {aa: ce(a.dc), Z: ce(a.aw)}
        }
        return {aa: "_gcl", Z: "_gcl"}
    }

    function ee(a) {
        var b = U(F.location.href), c = Ma(b, "host", !1);
        if (c && c.match(be)) {
            var d = Ma(b, "path").split(a + "=");
            if (1 < d.length) return d[1].split(";")[0].split("?")[0]
        }
    }

    function fe(a) {
        return a.filter(function (a) {
            return ae.test(a)
        })
    }

    var he = function (a) {
        var b = ee("gclaw");
        if (b) return b.split(".");
        var c = de(a);
        if ("_gcl" == c.Z) {
            var d = ge();
            if (d && (null == d.F || "aw.ds" == d.F)) return [d.ca]
        }
        return fe(Zd(c.Z + "_aw"))
    }, ie = function (a) {
        var b = ee("gcldc");
        if (b) return b.split(".");
        var c = de(a);
        if ("_gcl" == c.aa) {
            var d = ge();
            if (d && ("ds" == d.F || "aw.ds" == d.F)) return [d.ca]
        }
        return fe(Zd(c.aa + "_dc"))
    };

    function ge() {
        var a = U(F.location.href), b = Ma(a, "query", !1, void 0, "gclid"), c = Ma(a, "query", !1, void 0, "gclsrc");
        if (!b || !c) {
            var d = Ma(a, "fragment");
            b = b || La(d, "gclid");
            c = c || La(d, "gclsrc")
        }
        return void 0 !== b && b.match(ae) ? {ca: b, F: c} : null
    }

    var je = function (a, b, c) {
        var d = de(a);
        c = c || "auto";
        b = b || "/";
        var e = ge();
        if (null != e) {
            var g = (new Date).getTime(), h = new Date(g + 7776E6), k = ["GCL", Math.round(g / 1E3), e.ca].join(".");
            e.F && "aw.ds" != e.F || Vd(d.Z + "_aw", k, b, c, h);
            "aw.ds" != e.F && "ds" != e.F || Vd(d.aa + "_dc", k, b, c, h)
        }
    }, ke = function () {
        var a = ee("gac");
        if (a) return decodeURIComponent(a);
        for (var b = [], c = H.cookie.split(";"), d = /^\s*_gac_(UA-\d+-\d+)=\s*(.+?)\s*$/, e = 0; e < c.length; e++) {
            var g = c[e].match(d);
            g && b.push({Ka: g[1], value: g[2]})
        }
        var h = {};
        if (b && b.length) for (var k =
            0; k < b.length; k++) {
            var l = b[k].value.split(".");
            "1" == l[0] && 3 == l.length && l[1] && (h[b[k].Ka] || (h[b[k].Ka] = []), h[b[k].Ka].push({
                timestamp: l[1],
                ca: l[2]
            }))
        }
        var m = [], n;
        for (n in h) if (h.hasOwnProperty(n)) {
            for (var p = [], q = h[n], w = 0; w < q.length; w++) p.push(q[w].ca);
            p = fe(p);
            p.length && m.push(n + ":" + p.join(","))
        }
        return m.join(";")
    };
    var le;
    a:{
        le = "g";
        break a;
        le = "G"
    }
    var me = {"": "n", UA: "u", AW: "a", DC: "d", GTM: le}, ne = function (a) {
        var b = Rb.K.split("-"), c = b[0].toUpperCase();
        return (me[c] || "i") + "1a" + (a && "GTM" === c ? b[1] : "")
    };
    var oe = function (a) {
        return !(void 0 === a || null === a || 0 === (a + "").length)
    }, pe = function (a, b) {
        var c;
        if (2 === b.A) return a("ord", ec(1E11, 1E13)), !0;
        if (3 === b.A) return a("ord", "1"), a("num", ec(1E11, 1E13)), !0;
        if (4 === b.A) return oe(b.sessionId) && a("ord", b.sessionId), !0;
        if (5 === b.A) c = "1"; else if (6 === b.A) c = b.Ga; else return !1;
        oe(c) && a("qty", c);
        oe(b.xa) && a("cost", b.xa);
        oe(b.La) && a("ord", b.La);
        return !0
    }, qe = encodeURIComponent, re = function (a, b) {
        function c(a, b, c) {
            g.hasOwnProperty(a) || (b += "", e += ";" + a + "=" + (c ? b : qe(b)))
        }

        var d = a.za,
            e = a.protocol;
        e += a.ra ? "//" + d + ".fls.doubleclick.net/activityi" : "//ad.doubleclick.net/activity";
        e += ";src=" + qe(d) + (";type=" + qe(a.Aa)) + (";cat=" + qe(a.Y));
        var g = a.Db || {}, h;
        for (h in g) g.hasOwnProperty(h) && (e += ";" + qe(h) + "=" + qe(g[h] + ""));
        if (pe(c, a)) {
            oe(a.Na) && c("u", a.Na);
            oe(a.tran) && c("tran", a.tran);
            c("gtm", ne());
            if (a.wa) {
                var k = ie(a.ma);
                k && k.length && c("gcldc", k.join("."));
                var l = he(a.ma);
                l && l.length && c("gclaw", l.join("."));
                var m = ke();
                m && c("gac", m)
            }
            oe(a.Ea) && c("prd", a.Ea, !0);
            for (var n in a.ha) a.ha.hasOwnProperty(n) &&
            c(n, a.ha[n]);
            e += b || "";
            oe(a.qa) && c("~oref", a.qa);
            a.ra ? Ea(e + "?", a.S) : R(e + "?", a.S, a.R)
        } else S(a.R)
    };
    var se = function (a) {
        F.GoogleAnalyticsObject || (F.GoogleAnalyticsObject = a || "ga");
        var b = F.GoogleAnalyticsObject;
        if (!F[b]) {
            var c = function () {
                c.q = c.q || [];
                c.q.push(arguments)
            };
            c.l = Number(new Date);
            F[b] = c
        }
        return F[b]
    }, te = function () {
        return F.GoogleAnalyticsObject && F[F.GoogleAnalyticsObject]
    }, ue = function (a, b, c, d) {
        b = String(b).replace(/\s+/g, "").split(",");
        var e = te();
        e(a + "require", "linker");
        e(a + "linker:autoLink", b, c, d)
    };
    var Ee = "www.googletagmanager.com/gtm.js";
    Ee = "www.googletagmanager.com/gtag/js";
    var Fe = Ee, Ge = function (a, b, c, d) {
            Fa(a, b, c, d)
        }, He = function (a, b, c) {
            Q(a, b, c)
        }, Ie = {}, Je = function (a, b, c) {
            var d = Ie[a];
            if (void 0 === d) {
                var e = function (a, b) {
                    return function () {
                        a.status = b;
                        for (var c = 2 == b ? a.jb : a.Ua, d = 0; d < c.length; d++) F.setTimeout(c[d], 0)
                    }
                };
                d = {status: 1, jb: [], Ua: [], jc: void 0};
                d.wc = Q(a, e(d, 2), e(d, 3));
                Ie[a] = d
            }
            0 === d.status && (d.jc(), d.status = 2);
            2 === d.status ? b && b() : 3 === d.status ? c && c() : 1 === d.status && (b && d.jb.push(b), c && d.Ua.push(c))
        }, Ke = function () {
            return F.location.href
        }, Le = function (a) {
            return Ma(U(a), "fragment")
        },
        W = function (a, b) {
            return Ac(a, b || 2)
        }, Me = function (a, b, c) {
            b && (a.eventCallback = b, c && (a.eventTimeout = c));
            return F["dataLayer"].push(a)
        }, Ne = function (a, b) {
            F[a] = b
        }, X = function (a, b, c) {
            b && (void 0 === F[a] || c && !F[a]) && (F[a] = b);
            return F[a]
        }, Oe = function (a, b, c) {
            var d;
            a:{
                var e;
                e = c || 100;
                for (var g = {}, h = 0; h < b.length; h++) g[b[h]] = !0;
                for (var k = a, l = 0; k && l <= e; l++) {
                    if (g[String(k.tagName).toLowerCase()]) {
                        d = k;
                        break a
                    }
                    k = k.parentElement
                }
                d = null
            }
            return d
        }, Y = function (a, b, c, d) {
            var e = !d && "http:" == F.location.protocol;
            e && (e = 2 !== Pe());
            return (e ? b : a) + c
        }, Qe = function (a) {
            var b = 0;
            return b
        }, Re = function (a) {
        }, Se = function (a) {
            var b = !1;
            return b
        }, Te = function (a, b) {
            var c;
            a:{
                if (a && fa(a)) for (var d = 0; d < a.length; d++) if (a[d] && b(a[d])) {
                    c = a[d];
                    break a
                }
                c = void 0
            }
            return c
        }, Ue = function (a) {
            Pd(a).init = !0
        }, Ve = function (a, b) {
            Qd(a, "nv.ids", b, [])
        };
    var Xe = void 0, Ye = function (a) {
        if (!Xe) {
            var b = function () {
                var a = H.body;
                if (a) if (X("MutationObserver")) (new MutationObserver(function () {
                    for (var a = 0; a < Xe.length; a++) S(Xe[a])
                })).observe(a, {childList: !0, subtree: !0}); else {
                    var b = !1;
                    Ge(a, "DOMNodeInserted", function () {
                        b || (b = !0, S(function () {
                            b = !1;
                            for (var a = 0; a < Xe.length; a++) S(Xe[a])
                        }))
                    })
                }
            };
            Xe = [];
            H.body ? b() : S(b)
        }
        Xe.push(a)
    }, Pe = function () {
        var a = Fe;
        a = a.toLowerCase();
        for (var b = "https://" + a, c = "http://" + a, d = 1, e = H.getElementsByTagName("script"), g = 0; g < e.length && 100 > g; g++) {
            var h =
                e[g].src;
            if (h) {
                h = h.toLowerCase();
                if (0 === h.indexOf(c)) return 3;
                1 === d && 0 === h.indexOf(b) && (d = 2)
            }
        }
        return d
    };
    var Ze = function (a, b) {
        return Cc(a, b, void 0)
    };
    var Z = {a: {}};
    Z.a.e = ["google"], function () {
        (function (a) {
            Z.__e = a;
            Z.__e.b = "e";
            Z.__e.g = !0
        })(function () {
            return Tb
        })
    }();

    Z.a.v = ["google"], function () {
        (function (a) {
            Z.__v = a;
            Z.__v.b = "v";
            Z.__v.g = !0
        })(function (a) {
            var b = W(a.vtp_name.replace(/\\\./g, "."), a.vtp_dataLayerVersion || 1);
            return void 0 !== b ? b : a.vtp_defaultValue
        })
    }();
    Z.a.gtagaw = ["google"], function () {
        var a = !1, b = !1, c = [],
            d = "send_to aw_remarketing aw_remarketing_only custom_params send_page_view language value currency transaction_id user_id conversion_linker conversion_cookie_prefix page_location page_referrer phone_conversion_number phone_conversion_callback phone_conversion_css_class items aw_merchant_id aw_feed_country aw_feed_language discount transaction_id".split(" "),
            e = function (a) {
                var b = X("google_trackConversion"), c = a.gtm_onFailure;
                "function" == typeof b ? b(a) ||
                    c() : c()
            }, g = function () {
                for (; 0 < c.length;) e(c.shift())
            }, h = function () {
                a || (a = !0, He(Y("https://", "http://", "www.googleadservices.com/pagead/conversion_async.js"), function () {
                    g();
                    c = {push: e}
                }, function () {
                    g();
                    a = !1
                }))
            }, k = function (a, c, d, e) {
                if (c) {
                    var g = a.ea[0], h = a.ea[1], k = X("_googWcmImpl", function () {
                        k.q = k.q || [];
                        k.q.push(arguments)
                    });
                    X("_googWcmAk", g);
                    b || (b = !0, He(Y("https://", "http://", "www.gstatic.com/wcm/loader.js")));
                    var l = {ak: g, cl: h};
                    void 0 === d && (l.autoreplace = c);
                    k(2, d, l, c, e, new Date, e)
                }
            }, l = function (a) {
                if (a) {
                    for (var b =
                        [], c = 0; c < a.length; ++c) {
                        var d = a[c];
                        d && b.push({uc: d.id, Ga: d.quantity, value: d.price})
                    }
                    return b
                }
            };
        (function (a) {
            Z.__gtagaw = a;
            Z.__gtagaw.b = "gtagaw";
            Z.__gtagaw.g = !0
        })(function (a) {
            var b = a.vtp_conversionId, e = Tb, g = "gtag.config" == e, m = b.ea[0], r = b.ea[1], B = void 0 !== r,
                O = b.containerId, T = B ? b.id : void 0, C = function (a) {
                    return Cc(a, O, T)
                }, J = !1 !== C("conversion_linker"), A = C("conversion_cookie_prefix");
            g && J && je(A, void 0, void 0);
            if (g && B) {
                var K = C("phone_conversion_number"), I = C("phone_conversion_callback"),
                    L = C("phone_conversion_css_class"),
                    E = C("phone_conversion_options");
                k(b, K, I || L, E)
            }
            var M = !1 === C("aw_remarketing") || !1 === C("send_page_view");
            if (!g || !B && !M) {
                !0 === C("aw_remarketing_only") && (B = !1);
                var G = {
                    google_conversion_id: m,
                    google_remarketing_only: !B,
                    onload_callback: a.vtp_gtmOnSuccess,
                    gtm_onFailure: a.vtp_gtmOnFailure,
                    google_conversion_format: "3",
                    google_conversion_color: "ffffff",
                    google_conversion_domain: "",
                    google_conversion_label: r,
                    google_conversion_language: C("language"),
                    google_conversion_value: C("value"),
                    google_conversion_currency: C("currency"),
                    google_conversion_order_id: C("transaction_id"),
                    google_user_id: C("user_id"),
                    google_conversion_page_url: C("page_location"),
                    google_conversion_referrer_url: C("page_referrer"),
                    google_gtm: ne(void 0),
                    google_read_gcl_cookie_opt_out: !J
                };
                J && A && (pa(A) ? G.google_gcl_cookie_prefix = A.aw : G.google_gcl_cookie_prefix = A);
                var N = function () {
                    var a = C("custom_params"), b = {event: e};
                    if (fa(a)) {
                        for (var c = 0; c < a.length; ++c) {
                            var g = a[c], h = C(g);
                            void 0 !== h && (b[g] = h)
                        }
                        return b
                    }
                    var k = C("eventModel");
                    if (!k) return null;
                    qa(k, b);
                    for (var l =
                        0; l < d.length; ++l) delete b[d[l]];
                    return b
                }();
                N && (G.google_custom_params = N);
                if (B && "purchase" == e && C("aw_merchant_id")) {
                    G.google_conversion_merchant_id = C("aw_merchant_id");
                    G.google_basket_feed_country = C("aw_feed_country");
                    G.google_basket_feed_language = C("aw_feed_language");
                    G.google_basket_discount = C("discount");
                    G.google_basket_transaction_type = e;
                    G.google_disable_merchant_reported_conversions = !0;
                    var P = l(C("items"));
                    P && (G.google_conversion_items = P)
                }
                c.push(G)
            }
            h()
        })
    }();


    Z.a.gtagfl = [], function () {
        function a(a) {
            var b = /^DC-(\d+)(\/([\w-]+)\/([\w-]+)\+(\w+))?$/.exec(a);
            if (b) {
                var c = {
                    standard: 2,
                    unique: 3,
                    per_session: 4,
                    transactions: 5,
                    items_sold: 6,
                    "": 1
                }[(b[5] || "").toLowerCase()];
                if (c) return {
                    containerId: "DC-" + b[1],
                    kb: b[3] ? a : "",
                    tb: b[1],
                    qb: b[3] || "",
                    Y: b[4] || "",
                    A: c
                }
            }
        }

        function b(a, b) {
            function c(b, c, e) {
                void 0 !== e && 0 !== (e + "").length && d.push(b + c + ":" + a(e + ""))
            }

            var d = [], e = b("items") || [];
            if (fa(e)) for (var l = 0; l < e.length; l++) {
                var m = e[l], n = l + 1;
                c("i", n, m.id);
                c("p", n, m.price);
                c("q", n, m.quantity);
                c("c", n, b("country"));
                c("l", n, b("language"))
            }
            return d.join("|")
        }

        function c(a, b, c) {
            var d = /^u([1-9]\d?|100)$/, e = a("custom_map") || {}, g = Fc(b, c), m = {}, n = {};
            if (pa(e)) for (var p in e) if (e.hasOwnProperty(p) && d.test(p)) {
                var q = e[p];
                Yb(q) && (m[p] = q)
            }
            for (var w = 0; w < g.length; w++) {
                var r = g[w];
                d.test(r) && (m[r] = r)
            }
            for (var B in m) m.hasOwnProperty(B) && (n[B] = a(m[B]));
            return n
        }

        (function (a) {
            Z.__gtagfl = a;
            Z.__gtagfl.b = "gtagfl";
            Z.__gtagfl.g = !0
        })(function (d) {
            var e = d.vtp_gtmOnSuccess, g = d.vtp_gtmOnFailure, h = a(d.vtp_targetId);
            if (h) {
                var k =
                    function (a) {
                        return Cc(a, h.containerId, h.kb || void 0)
                    }, l = !1 !== k("conversion_linker"), m = k("conversion_cookie_prefix");
                if ("gtag.config" === Tb) l && je(m, void 0, void 0), S(e); else {
                    var n = {}, p = k("dc_custom_params");
                    if (pa(p)) for (var q in p) if (p.hasOwnProperty(q)) {
                        var w = p[q];
                        void 0 !== w && null !== w && (n[q] = w)
                    }
                    var r = "";
                    if (5 === h.A || 6 === h.A) r = b(Jd, k);
                    var B = c(k, h.containerId, h.kb), O = 3 === Pe(), T = !0 === k("allow_custom_scripts"), C = {
                        Y: h.Y,
                        wa: l,
                        ma: m,
                        xa: k("value"),
                        A: h.A,
                        Db: n,
                        za: h.tb,
                        Aa: h.qb,
                        R: g,
                        S: e,
                        qa: Na(U(Ke())),
                        Ea: r,
                        protocol: O ?
                            "http:" : "https:",
                        Ga: k("quantity"),
                        ra: T,
                        sessionId: k("session_id"),
                        La: k("transaction_id"),
                        ha: B
                    };
                    re(C, void 0)
                }
            } else S(g)
        })
    }();


    Z.a.gtagua = ["google"], function () {
        var a, b = {
                client_id: 1,
                client_storage: "storage",
                cookie_name: 1,
                cookie_domain: 1,
                cookie_expires: 1,
                cookie_update: 1,
                sample_rate: 1,
                site_speed_sample_rate: 1,
                use_amp_client_id: 1,
                store_gac: 1,
                conversion_linker: "storeGac"
            }, c = {
                anonymize_ip: 1,
                app_id: 1,
                app_installer_id: 1,
                app_name: 1,
                app_version: 1,
                campaign: {
                    name: "campaignName",
                    source: "campaignSource",
                    medium: "campaignMedium",
                    term: "campaignTerm",
                    content: "campaignContent",
                    id: "campaignId"
                },
                currency: "currencyCode",
                description: "exDescription",
                fatal: "exFatal",
                language: 1,
                non_interaction: 1,
                page_hostname: "hostname",
                page_referrer: "referrer",
                page_path: "page",
                page_location: "location",
                page_title: "title",
                screen_name: 1,
                transport_type: "transport",
                user_id: 1
            }, d = {
                content_id: 1,
                event_category: 1,
                event_action: 1,
                event_label: 1,
                link_attribution: 1,
                linker: 1,
                method: 1,
                name: 1,
                send_page_view: 1,
                value: 1
            }, e = {cookie_name: 1, cookie_expires: "duration", levels: 1}, g = {
                anonymize_ip: 1,
                fatal: 1,
                non_interaction: 1,
                use_amp_client_id: 1,
                send_page_view: 1,
                store_gac: 1,
                conversion_linker: 1
            },
            h = function (a, b, c, d) {
                if (void 0 !== c) if (g[b] && (c = bc(c)), "anonymize_ip" != b || c || (c = void 0), 1 === a) d[k(b)] = c; else if (Yb(a)) d[a] = c; else for (var e in a) a.hasOwnProperty(e) && void 0 !== c[e] && (d[a[e]] = c[e])
            }, k = function (a) {
                return a && Yb(a) ? a.replace(/(_[a-z])/g, function (a) {
                    return a[1].toUpperCase()
                }) : a
            }, l = function (a, b, c) {
                a.hasOwnProperty(b) || (a[b] = c)
            }, m = function (a, e, g) {
                var k = {}, m = {}, n = {}, p = Ze("custom_map", a);
                if (pa(p)) for (var r in p) if (p.hasOwnProperty(r) && /^(dimension|metric)\d+$/.test(r)) {
                    var q = Ze(p[r], a);
                    void 0 !==
                    q && l(m, r, q)
                }
                for (var w = Fc(a, void 0), B = 0; B < w.length; ++B) {
                    var E = w[B], M = Ze(E, a);
                    d.hasOwnProperty(E) ? h(d[E], E, M, k) : c.hasOwnProperty(E) ? h(c[E], E, M, m) : b.hasOwnProperty(E) ? h(b[E], E, M, n) : /^(dimension|metric|content_group)\d+$/.test(E) && h(1, E, M, m)
                }
                var G = String(Tb);
                l(n, "cookieDomain", "auto");
                l(m, "forceSSL", !0);
                var N = "general";
                0 <= Nd("add_payment_info add_to_cart add_to_wishlist begin_checkout checkout_progress purchase refund remove_from_cart set_checkout_option".split(" "), G) ? N = "ecommerce" : 0 <= Nd("generate_lead login search select_content share sign_up view_item view_item_list view_promotion view_search_results".split(" "),
                    G) ? N = "engagement" : "exception" == G && (N = "error");
                l(k, "eventCategory", N);
                0 <= Nd(["view_item", "view_item_list", "view_promotion", "view_search_results"], G) && l(m, "nonInteraction", !0);
                "login" == G || "sign_up" == G || "share" == G ? l(k, "eventLabel", Ze("method", a)) : "search" == G || "view_search_results" == G ? l(k, "eventLabel", Ze("search_term", a)) : "select_content" == G && l(k, "eventLabel", Ze("content_type", a));
                var P = k.linker || {};
                if (P.accept_incoming || 0 != P.accept_incoming && P.domains) n.allowLinker = !0;
                !1 === Ze("allow_display_features",
                    a) && (m.displayFeaturesTask = null);
                n.name = e;
                m["&gtm"] = ne(!0);
                m.hitCallback = g;
                k.D = m;
                k.Sa = n;
                return k
            }, n = function (a) {
                function b(a) {
                    var b = qa(a, void 0);
                    b.list = a.list_name;
                    b.listPosition = a.list_position;
                    b.position = a.list_position || a.creative_slot;
                    b.creative = a.creative_name;
                    return b
                }

                function c(a) {
                    for (var c = [], d = 0; a && d < a.length; d++) a[d] && c.push(b(a[d]));
                    return c.length ? c : void 0
                }

                function d() {
                    return {
                        id: e("transaction_id"),
                        affiliation: e("affiliation"),
                        revenue: e("value"),
                        tax: e("tax"),
                        shipping: e("shipping"),
                        coupon: e("coupon"),
                        list: e("list_name")
                    }
                }

                var e = function (b) {
                    return Cc(b, a, void 0)
                }, g = e("items"), h = e("custom_map");
                if (pa(h)) for (var k = 0; g && k < g.length; ++k) {
                    var m = g[k], n;
                    for (n in h) h.hasOwnProperty(n) && /^(dimension|metric)\d+$/.test(n) && l(m, n, m[h[n]])
                }
                var p = null, q = Tb, w = e("promotions");
                "purchase" == q || "refund" == q ? p = {
                    action: q,
                    X: d(),
                    T: c(g)
                } : "add_to_cart" == q ? p = {action: "add", T: c(g)} : "remove_from_cart" == q ? p = {
                    action: "remove",
                    T: c(g)
                } : "view_item" == q ? p = {
                    action: "detail",
                    X: d(),
                    T: c(g)
                } : "view_item_list" == q ? p = {action: "impressions", Wb: c(g)} :
                    "view_promotion" == q ? p = {
                        action: "promo_view",
                        Fa: c(w)
                    } : "select_content" == q && w && 0 < w.length ? p = {
                        action: "promo_click",
                        Fa: c(w)
                    } : "select_content" == q ? p = {
                        action: "click",
                        X: {list: e("list_name")},
                        T: c(g)
                    } : "begin_checkout" == q || "checkout_progress" == q ? p = {
                        action: "checkout",
                        T: c(g),
                        X: {step: "begin_checkout" == q ? 1 : e("checkout_step"), option: e("checkout_option")}
                    } : "set_checkout_option" == q && (p = {
                        action: "checkout_option",
                        X: {step: e("checkout_step"), option: e("checkout_option")}
                    });
                p && (p.sc = e("currency"));
                return p
            }, p = {}, q = function (a,
                                     b) {
                var c = p[a];
                p[a] = qa(b, void 0);
                if (!c) return !1;
                for (var d in b) if (b.hasOwnProperty(d) && b[d] !== c[d]) return !0;
                for (d in c) if (c.hasOwnProperty(d) && c[d] !== b[d]) return !0;
                return !1
            };
        (function (a) {
            Z.__gtagua = a;
            Z.__gtagua.b = "gtagua";
            Z.__gtagua.g = !0
        })(function (b) {
            var c = b.vtp_trackingId, d = se(void 0), g = "gtag_" + c.split("-").join("_"), p = function (a) {
                var b = [].slice.call(arguments, 0);
                b[0] = g + "." + b[0];
                d.apply(window, b)
            }, w = function () {
                var a = function (a, b) {
                    for (var c = 0; b && c < b.length; c++) p(a, b[c])
                }, b = n(c);
                if (b) {
                    var d = b.action;
                    if ("impressions" == d) a("ec:addImpression", b.Wb); else if ("promo_click" == d || "promo_view" == d) {
                        var e = b.Fa;
                        a("ec:addPromo", b.Fa);
                        e && 0 < e.length && "promo_click" == d && p("ec:setAction", d)
                    } else a("ec:addProduct", b.T), p("ec:setAction", d, b.X)
                }
            }, J = function () {
                var a = Ze("optimize_id", c);
                a && (p("require", a, {dataLayer: "dataLayer"}), p("require", "render"))
            }, A = m(c, g, b.vtp_gtmOnSuccess);
            q(g, A.Sa) && d(function () {
                te() && te().remove(g)
            });
            d("create", c, A.Sa);
            (function () {
                var a = Ze("custom_map", c);
                d(function () {
                    if (pa(a)) {
                        var b = A.D,
                            c = te().getByName(g), d;
                        for (d in a) if (a.hasOwnProperty(d) && /^(dimension|metric)\d+$/.test(d)) {
                            var e = c.get(k(a[d]));
                            l(b, d, e)
                        }
                    }
                })
            })();
            (function (a) {
                if (a) {
                    var b = {};
                    if (pa(a)) for (var c in e) e.hasOwnProperty(c) && h(e[c], c, a[c], b);
                    p("require", "linkid", b)
                }
            })(A.linkAttribution);
            var K = A.linker;
            K && K.domains && ue(g + ".", K.domains, !!K.use_anchor, !!K.decorate_forms);
            var I = function (a, b, c) {
                c && (b = "" + b);
                A.D[a] = b
            }, L = Tb;
            "page_view" == L ? (J(), p("send", "pageview", A.D)) : "gtag.config" == L ? 0 != A.sendPageView && (J(), p("send", "pageview",
                A.D)) : "screen_view" == L ? p("send", "screenview", A.D) : "timing_complete" == L ? (I("timingCategory", A.eventCategory, !0), I("timingVar", A.name, !0), I("timingValue", ac(A.value)), void 0 !== A.eventLabel && I("timingLabel", A.eventLabel, !0), p("send", "timing", A.D)) : "exception" == L ? p("send", "exception", A.D) : (0 <= Nd("view_item_list select_content view_item add_to_cart remove_from_cart begin_checkout set_checkout_option purchase refund view_promotion checkout_progress".split(" "), L) && (p("require", "ec", "ec.js"), w()), I("eventCategory",
                A.eventCategory, !0), I("eventAction", A.eventAction || L, !0), void 0 !== A.eventLabel && I("eventLabel", A.eventLabel, !0), void 0 !== A.value && I("eventValue", ac(A.value)), p("send", "event", A.D));
            a || (a = !0, He("https://www.google-analytics.com/analytics.js", function () {
                te().loaded || b.vtp_gtmOnFailure()
            }, b.vtp_gtmOnFailure))
        })
    }();
    var $e = {
        macro: function () {
        }
    };
    $e.dataLayer = Bc;
    $e.callback = function (a) {
        Ub.hasOwnProperty(a) && Xb(Ub[a]) && Ub[a]();
        delete Ub[a]
    };
    $e.wb = function () {
        var a = F.google_tag_manager;
        a || (a = F.google_tag_manager = {});
        a[Rb.K] || (a[Rb.K] = $e);
        Sb = a;
        Vb = Z.a
    };
    for (var af = data.resource || {}, bf = af.macros || [], cf = 0; cf < bf.length; cf++) Db.push(bf[cf]);
    for (var df = af.tags || [], ef = 0; ef < df.length; ef++) Gb.push(df[ef]);
    for (var ff = af.predicates || [], gf = 0; gf < ff.length; gf++) Fb.push(ff[gf]);
    for (var hf = af.rules || [], jf = 0; jf < hf.length; jf++) {
        for (var kf = hf[jf], lf = {}, mf = 0; mf < kf.length; mf++) lf[kf[mf][0]] = Array.prototype.slice.call(kf[mf], 1);
        Eb.push(lf)
    }
    Ib = Z;
    (function (a) {
        Cb = function (a) {
            return Hd.s(a)
        };
        Nb = ud;
        Pa(Hd, Gd());
        for (var b = 0; b < a.length; b++) {
            var c = a[b];
            if (!fa(c) || 3 > c.length) {
                if (0 == c.length) continue;
                mc("Internal Error");
                break
            }
            Hd.s(c)
        }
    })(data.runtime || []);
    $e.wb();
    (function () {
        var a = Ba("dataLayer", []), b = Ba("google_tag_manager", {});
        b = b["dataLayer"] = b["dataLayer"] || {};
        tc.push(function () {
            b.gtmDom || (b.gtmDom = !0, a.push({event: "gtm.dom"}))
        });
        md.push(function () {
            b.gtmLoad || (b.gtmLoad = !0, a.push({event: "gtm.load"}))
        });
        var c = a.push;
        a.push = function () {
            var b = [].slice.call(arguments, 0);
            c.apply(a, b);
            for (od.push.apply(od, b); 300 < this.length;) this.shift();
            return rd()
        };
        od.push.apply(od, a.slice(0));
        S(sd)
    })();
    rc = !1;
    sc = 0;
    if ("interactive" == H.readyState && !H.createEventObject || "complete" == H.readyState) uc(); else {
        Fa(H, "DOMContentLoaded", uc);
        Fa(H, "readystatechange", uc);
        if (H.createEventObject && H.documentElement.doScroll) {
            var nf = !0;
            try {
                nf = !F.frameElement
            } catch (a) {
            }
            nf && vc()
        }
        Fa(F, "load", uc)
    }
    ld = !1;
    "complete" === H.readyState ? nd() : Fa(F, "load", nd);

})()